Regresja liniowa wielu zmiennych - Kaggle Competition
Dla danych i opisu na stronie: https://inclass.kaggle.com/c/amu-umz-1
Należy utworzyć model regresji liniowej (a może wielomianowej?) cen mieszkań w Poznaniu. Zestaw danych to 5000 aktualnych opisów (zebranych w poniedziałek) ze strony gratka.pl.
Należy pracować w zespołach dwuosobowych, najlepszych pięć zespołów otrzyma 50 dodatkowych punktów.
Miarą błędu na danych testowych to średnia kwadratowa błędu (Root Mean Squared Error, RMSE) dla cen mieszkań, czyli:
$$ RMSE = \sqrt{\frac{1}{n}\sum_{i=1}^n\left(y_i-\hat{y}_i\,\right)^2} $$
Zobacz plik rowiazanie.csv, pierwsza kolumna to ID oferty, druga to przewidziana cena w PLN. Separatorem jest przecinek. Należy umieścić w pliku nagłówki "Id,Predicted".
Opis plików
- train.csv - Dane trenujące, na ich podstawie budujemy model regresyjny.
- testset.nosolution.csv - Dane testujące, dane bez kolumny z cenami, ceny należy wygenerować na podstawie podanych informacji.
- rozwiazanie.csv - Testowe rozwiązanie ilustrujace wymagania formatowe, odpowiedzi wygenerowano losowo.
Pola danych
- Id - Numer porządkowy oferty
- Expected - Cena, którą należy przewidzieć, czyli wartości Y
- Rooms - Liczba pokoi
- SqrMeters - Metraż mieszkania
- Floor - Piętro
- Location - Dzielnica lub adres w Poznaniu
- Description - Fragment opisu mieszkania
Zadania:
- Dla pierwszych 500 mieszkań z train.csv utwórz wykres złożony z trzech umieszczonych obok siebie wykresów punktowych ilustrujących po kolei korelację cech liczby pokoi, metrażu i piętra mieszkania z ceną mieszkań.
- Zadbaj o poprawne tytuły na osiach.
- Opisz w trzech zdaniach wnioski.
- Uwaga: Dane są danymi rzeczywistymi, może się pojawić szum. Opisz czy wystąpiły błędne dane, jak psują wykres oraz jak je usunięto.
- Podziel dane z train.csv na dwie części, po 4000 i 1000 wpisów.
- Za pomocą macierzy normalnej lub innej metody optymalizacyjnej zbuduj model regresyjny dla pierwszej większej cześci.
- Zastosuj tak stworzony model (parametry $\theta$) do pozostałych 1000 wierszy danych.
- Oblicz RMSE dla drugiej cześci danych.
- Eksperymentuj z doborem cech, aby uzyskać jak najmniejszy RMSE (Oprócz oczywistych cech numerycznych jak metraż, cechy mogą być kombinacjami innych cech, lub symbolicznymi cechami opisującymi występowanie wyrazów, itp.)
- Wykorzystując całość danych z train.csv:
- Stwórz nowy model regresyjny i oblicz ceny mieszkań dla danych z pliku test.nosolution.csv.
- Zapisz dane w takiej postaći jak w pliku przykładowym rozwiazanie.csv